Today, many existing servers include multiple processing modules, such as blades, bricks, or processor cards. Each processing module may include one or more processors. When a processing module is powered on, the processors in the processing module consume power and the amount of which depends on processor load, frequency, and voltage. Today's processors allow a control of this using the power states of the processors. In a typical data center, there are usually a large number of servers deployed. However, the power available is generally limited. Therefore, it is important to manage power consumption of the servers efficiently.
Currently, administrators or users in data centers have to manually assign power to a rack or a collection of systems in a server based on the maximum power consumption ratings of the systems. This causes the data centers to limit the deployment of servers because the power consumption may not be managed efficiently. Frequently, the servers are not using all the power assigned, and therefore, some of the power capacity is wasted. On the other hand, if additional servers are powered on when the already deployed servers are using all the power available, it may result in a shortage of power. Catastrophic failures of the servers may result from such power shortages.